package com.bsoft.gol.editor.editor.response;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.bsoft.gol.editor.editor.EditorQuestionnaireOfficial;
import com.bsoft.gol.editor.editor.EditorQuestionnaireStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created by lxy on 2019/6/24.
 */
public class EditorQuestionnaireDetailRes implements Serializable{

    private String questionnaireId;

    private String questionnaireName;

    private String questionnaireCode;

    private BigDecimal questionnaireVersion;

    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date questionnaireDate;

    private Byte questionnaireState;

    private Byte questionnaireFlag;

    private String deptId;

    private String deptName;

    private Integer createId;

    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    private BigDecimal grade;
    //所有题目的总分
    private BigDecimal totalGrade;

    /**
     * <pre>
     * 调查员姓名
     * 表字段 : editor_user_info.investigator_name
     * </pre>
     *
     */
    private String investigatorName;

    /**
     * <pre>
     * 调查员id
     * 表字段 : editor_user_info.investigator_id
     * </pre>
     *
     */
    private String investigatorId;
    /**
     * 1.表示机构权限,2表示科室权限,3表示人拥有的权限
     */
    private String type;
    /**
     * 表单标题字号
     */
    private String formTitleWordSize;
    /**
     * 题干字号
     */
    private String questionTagWordSize;
    /**
     * 选项字号
     */
    private String optionsWordSize;
    /**
     * 隐藏标题
     */
    private String hidTitle;
    /**
     * 隐藏序号
     */
    private String hidSerialNum;
    /**
     * 隐藏进度条
     */
    private String hidProgressBar;
    /**
     * <pre>
     * 问卷类型
     * 表字段 : editor_questionnaire.questionnaire_type
     * </pre>
     *
     */
    private Byte questionnaireType;

    /**
     * <pre>
     * 有效时间
     * 表字段 : editor_questionnaire.questionnaire_valid_time
     * </pre>
     *
     */
    private Integer effectiveTime;

    private Integer ifToday;

    private String questionnaireWithTitle;

    private Integer ifReuse;

    private Integer pageSize;

    private String userInfoId;

    private String questionnaireMould;

    /**
     * 是否有副标题
     */
    private Integer hasSubtitle;

    /**
     * 处理方式:processMode (1.不做任何处理,2.显示自定义文案,3.按得分显示文案,默认是1)
     */
    private String processMode;
    /**
     * 提交后可再次编辑: ifEditorAgain (1是0否,默认是0)
     */
    private String ifEditorAgain;

    /**
     * 表单处理文案
     */
    private List<EditorQuestionnaireOfficial> officials;

    private List<EditorQuestionnaireTitleRes> titles;

    private EditorQuestionnaireStyle questionnaireStyleRes;

    private static final long serialVersionUID = 1L;

    public BigDecimal getGrade() {
        return grade;
    }

    public void setGrade(BigDecimal grade) {
        this.grade = grade;
    }

    public EditorQuestionnaireStyle getQuestionnaireStyleRes() {
        return questionnaireStyleRes;
    }

    public void setQuestionnaireStyleRes(EditorQuestionnaireStyle questionnaireStyleRes) {
        this.questionnaireStyleRes = questionnaireStyleRes;
    }

    public String getQuestionnaireId() {
        return questionnaireId;
    }

    public void setQuestionnaireId(String questionnaireId) {
        this.questionnaireId = questionnaireId;
    }

    public String getQuestionnaireName() {
        return questionnaireName;
    }

    public void setQuestionnaireName(String questionnaireName) {
        this.questionnaireName = questionnaireName;
    }

    public String getQuestionnaireCode() {
        return questionnaireCode;
    }

    public void setQuestionnaireCode(String questionnaireCode) {
        this.questionnaireCode = questionnaireCode;
    }

    public BigDecimal getQuestionnaireVersion() {
        return questionnaireVersion;
    }

    public void setQuestionnaireVersion(BigDecimal questionnaireVersion) {
        this.questionnaireVersion = questionnaireVersion;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    public Date getQuestionnaireDate() {
        return questionnaireDate;
    }

    public void setQuestionnaireDate(Date questionnaireDate) {
        this.questionnaireDate = questionnaireDate;
    }

    public Byte getQuestionnaireState() {
        return questionnaireState;
    }

    public void setQuestionnaireState(Byte questionnaireState) {
        this.questionnaireState = questionnaireState;
    }

    public Byte getQuestionnaireFlag() {
        return questionnaireFlag;
    }

    public void setQuestionnaireFlag(Byte questionnaireFlag) {
        this.questionnaireFlag = questionnaireFlag;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Integer getCreateId() {
        return createId;
    }

    public void setCreateId(Integer createId) {
        this.createId = createId;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public List<EditorQuestionnaireTitleRes> getTitles() {
        return titles;
    }

    public void setTitles(List<EditorQuestionnaireTitleRes> titles) {
        this.titles = titles;
    }

    public Byte getQuestionnaireType() {
        return questionnaireType;
    }

    public void setQuestionnaireType(Byte questionnaireType) {
        this.questionnaireType = questionnaireType;
    }

    public Integer getEffectiveTime() {
        return effectiveTime;
    }

    public void setEffectiveTime(Integer effectiveTime) {
        this.effectiveTime = effectiveTime;
    }



    public Integer getIfToday() {
        return ifToday;
    }

    public void setIfToday(Integer ifToday) {
        this.ifToday = ifToday;
    }

    public String getQuestionnaireWithTitle() {
        return questionnaireWithTitle;
    }

    public void setQuestionnaireWithTitle(String questionnaireWithTitle) {
        this.questionnaireWithTitle = questionnaireWithTitle;
    }

    public Integer getIfReuse() {
        return ifReuse;
    }

    public void setIfReuse(Integer ifReuse) {
        this.ifReuse = ifReuse;
    }

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public String getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getInvestigatorName() {
        return investigatorName;
    }

    public void setInvestigatorName(String investigatorName) {
        this.investigatorName = investigatorName;
    }

    public String getInvestigatorId() {
        return investigatorId;
    }

    public void setInvestigatorId(String investigatorId) {
        this.investigatorId = investigatorId;
    }

    public String getQuestionnaireMould() {
        return questionnaireMould;
    }

    public void setQuestionnaireMould(String questionnaireMould) {
        this.questionnaireMould = questionnaireMould;
    }

    public Integer getHasSubtitle() {
        return hasSubtitle;
    }

    public void setHasSubtitle(Integer hasSubtitle) {
        this.hasSubtitle = hasSubtitle;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getFormTitleWordSize() {
        return formTitleWordSize;
    }

    public void setFormTitleWordSize(String formTitleWordSize) {
        this.formTitleWordSize = formTitleWordSize;
    }

    public String getQuestionTagWordSize() {
        return questionTagWordSize;
    }

    public void setQuestionTagWordSize(String questionTagWordSize) {
        this.questionTagWordSize = questionTagWordSize;
    }

    public String getOptionsWordSize() {
        return optionsWordSize;
    }

    public void setOptionsWordSize(String optionsWordSize) {
        this.optionsWordSize = optionsWordSize;
    }

    public String getHidTitle() {
        return hidTitle;
    }

    public void setHidTitle(String hidTitle) {
        this.hidTitle = hidTitle;
    }

    public String getHidSerialNum() {
        return hidSerialNum;
    }

    public void setHidSerialNum(String hidSerialNum) {
        this.hidSerialNum = hidSerialNum;
    }

    public String getHidProgressBar() {
        return hidProgressBar;
    }

    public void setHidProgressBar(String hidProgressBar) {
        this.hidProgressBar = hidProgressBar;
    }

    public String getProcessMode() {
        return processMode;
    }

    public void setProcessMode(String processMode) {
        this.processMode = processMode;
    }

    public String getIfEditorAgain() {
        return ifEditorAgain;
    }

    public void setIfEditorAgain(String ifEditorAgain) {
        this.ifEditorAgain = ifEditorAgain;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public List<EditorQuestionnaireOfficial> getOfficials() {
        return officials;
    }

    public void setOfficials(List<EditorQuestionnaireOfficial> officials) {
        this.officials = officials;
    }

    public BigDecimal getTotalGrade() {
        return totalGrade;
    }

    public void setTotalGrade(BigDecimal totalGrade) {
        this.totalGrade = totalGrade;
    }
}
